The present disclosure relates generally to execution environments for computer systems, and more particularly to systems and methods for dynamically distributing execution environments across computing devices.
As businesses expand their mission, they must often also expand or modify their software infrastructure. For example, as a business begins handling additional clients, it may find that its existing software processes are starved for resources. Therefore, the business may need to add additional capabilities to their existing software infrastructure. Similarly, an increase in the diversity of clients may require that a business implement new software services to handle requests that are particular to individual clients.
Generally, software entities have an associated management overhead. For example, some software entities might configure a device to service confidential data, and thus, may only be executed on certain well-protected hardware platforms. In some cases, such software entities may be located only at certain geographic locations. Other software entities may require the use of a particular type of hardware circuit (e.g. a graphics card, a printer) or access to certain software resources (e.g. a license server, a cryptographic key) that are only available on certain hardware platforms.